Windows XP ve daha sonraki işletim sistemlerinde, kullanıcı tarafından seçilen temalara bağlı olarak, genel kontrollerin görünümünü değiştiren görsel özellik kullanılmaya başlamıştır. Windows XP'den Windows 8 işletim sistemine kadar, görsel stiller ön tanımlı olarak devrede olup, kullanıcı Windows klasik temasını seçip veya tema hizmetini kapatarak görsel stilleri deve dışı bırakabilmektedir.
Windows 8 işletim sisteminden önce, uygulamalar görsel özellikleri kullanacak şekilde düzenlenmediğinde, seçilen temaya bağlı olmaksızın, uygulamalar içindeki kontroller Windows klasik görünümüne sahip oluyorlardı. Windows 8 işletim sisteminde, görsel temalar devre dışı bırakılamadığından, Windows klasik görünümü kullanılmamaktadır.
Bu bölümde, Windowws XP ve daha sonraki işletim sistemlerinde, Windows'ta kullanılan genel kontroller için programlarda görsel stil ekleme yöntemlerini incelemeye çalışacağız.
Uygulamanızın görsel stilleri kullanabilmesi için, ComCtl32.dll 6 veya daha sonraki sürümünü kullanmanız gerekir. Sürüm 6 dosyası bir programla birlikte dağıtılamayacağından, sadece, programınız bu dosyanın bulunduğu bir Windows işletim sisteni altında çalıştığında kullanılabilecektir.
Eğer uygulamanızın görsel stilleri kullanmasını istiyorsanız, uygulamanıza, eğer mevut ise, ComCtl32.dll 6 dosyasını kullanma olanağı sağlayan bir manifest dosyası eklemeniz gerekir.
Bir uygulama manifest dosyası ile uygulamanızın hangi DLL dosya grubuna ve bu dosyalar içinde yer alan nesnelere ihtiyaç duyduğunu belirlemeye yarar.
Manifest dosyaları XML formatında olup, uygulamanın .exe dosya adı ile .manifest uzantısından oluşur (Örn. ApplicationName.exe.manifest).
Aşağıda örnek bir manifest dosyası yer almaktadır:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApplication" type="win32" /> <description>Your application description here.</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly>
processorArchitecture değerini, uygulamanızı 32 bit Windows platformu için hazırlıyorsanız, "X86", 64 bit Windows platformu için hazırlıyorsanız "amd64", eğer her iki platform için hazırlıyorsanız, "*" olarak tanımlayın.
Yukarıdaki dosyanın ilk bölümünde manifest dosyası aşağıdaki değerlere göre kendini tanımlar:
version: Manifest dosyasını sürümü (Yapısı: Anasürüm.Altsürüm.Revizyon.Derleme)
processorArchitecture: Uygulamanın çalışacağı işlemci türü
name: Şirket adı,ürün adı ve uygulama adı
type: Uygulama türü
Yukarıdaki dosyanın ikinci kısmında ise, dependency bölümündeki assemblyIdentity özellikleri yer almaktadır:
type: Bileşen türü
name: Bileşen adı
version: Bileşen sürümü
processorArchitecture: Bileşenin çalışacağı işlemci türü
publicKeyToken: Bileşen simge değeri
language: Bileşen dili
Uygulamalarınızda görsel stil kullanmak için, yukarıdaki dosyayı Application.manifest adıyla projenizde kaynak kodların bulunduğu dizine kaydedip, aynı dizinde bulunan resource.rc dosyasının içine aşağıdaki satırı eklemeniz yeterlidir:
resource.rc
1 24 "Application.manifest"
Herhangi bir görsel stil tanımlanmayan bir uygulamaya ait ekran görüntüsü aşağıda ilk sırada, görsel stil tanımlanmış bir uygulamaya ait ekran görüntüsü ise ikinci sırada yer almaktadır: